#%RAML 1.0 Library
uses:
  strings: stringTypes.raml
types:
  EnvVarValue:
    type: string
  EnvVarSecret:
    type: object
    description: An environment variable set to a secret
    properties:
      secret:
        type: string
        description: |
          The name of the secret to refer to. At runtime, the value of the
          secret will be injected into the value of the variable.
  EnvVarValueOrSecret: (EnvVarValue | EnvVarSecret)
  EnvVars:
    type: object
    properties:
      /^[a-zA-Z_][a-zA-Z0-9_]{0,253}?$/: EnvVarValueOrSecret
  LegacyEnvVars:
    type: object
    usage: |
      The original v2 apps API did not place any restrictions on environment variable names.
      New APIs should use EnvVars whenever possible.
    properties:
      /^.*$/: EnvVarValueOrSecret
